Healthcare Google Maps Scraper avatar

Healthcare Google Maps Scraper

Pricing

from $15.00 / 1,000 results

Go to Apify Store
Healthcare Google Maps Scraper

Healthcare Google Maps Scraper

Scrape healthcare clinics from Google Maps with email, social media, insurance, doctor count, review sentiment, online booking detection, metro area classification, and clinic type. 35+ fields per result, CRM-ready output.

Pricing

from $15.00 / 1,000 results

Rating

5.0

(1)

Developer

Mukesh Kumar

Mukesh Kumar

Maintained by Community

Actor stats

3

Bookmarked

47

Total users

6

Monthly active users

16 hours ago

Last modified

Share

Scrape healthcare businesses from Google Maps and enrich each result with emails, social media links, insurance details, doctor count, patient review sentiment, online booking detection, metro area classification, and clinic type.

Built for healthcare marketing agencies, medical recruiters, insurance networks, and health-tech companies that need structured, CRM-ready data from Google Maps.

What data do you get?

Each scraped business includes up to 35+ fields across these categories:

CategoryFields
Identityname, category, specialty
Locationaddress, city, state, postalCode, country, latitude, longitude
Contactphone, website, email
Social Mediainstagram, facebook, linkedin, twitter
HealthcareinsuranceAccepted, doctorCount
Micro-nichehasOnlineBooking, bookingType, bookingUrl, isMetroArea, metroName, metroTier, clinicType, clinicTypeLabel, clinicConfidence
Reputationrating, reviewCount, reviewSentiment (label, score, source, googleThemes; plus topThemes/snippets when individual reviews load)
Operationalhours, isOpenNow
MetadataplaceId, mapsUrl, scrapedAt, searchTerm, searchLocation

Sample output

{
"name": "Schiffman Oral Surgery",
"category": "Oral surgeon",
"specialty": "Oral surgeon",
"address": "141 Franklin Pl Suite B",
"fullAddress": "141 Franklin Pl Suite B, Woodmere, NY 11598, United States",
"city": "Woodmere",
"state": "NY",
"country": "United States",
"postalCode": "11598",
"latitude": 40.6331226,
"longitude": -73.7089737,
"phone": "+15165691111",
"website": "https://schiffmanoms.com/",
"email": "office@schiffmanoms.com",
"instagram": null,
"facebook": "https://facebook.com/schiffmanOMS",
"linkedin": null,
"twitter": null,
"insuranceAccepted": null,
"doctorCount": null,
"hasOnlineBooking": false,
"bookingType": null,
"bookingUrl": null,
"isMetroArea": false,
"metroName": null,
"metroTier": null,
"clinicType": "unknown",
"clinicTypeLabel": "Unknown",
"clinicConfidence": "low",
"rating": 5,
"reviewCount": 412,
"reviewSentiment": {
"label": "Positive",
"score": 100,
"source": "rating+themes",
"reviewsAnalysed": 0,
"googleThemes": [
{ "theme": "friendly staff", "count": 96 },
{ "theme": "kind staff", "count": 41 },
{ "theme": "gentle care", "count": 18 }
]
},
"hours": {
"Monday": "9 am\u20136 pm",
"Tuesday": "9 am\u20135 pm",
"Wednesday": "Closed",
"Thursday": "9 am\u20135 pm",
"Friday": "9 am\u20132 pm",
"Saturday": "Closed",
"Sunday": "Closed"
},
"isOpenNow": true,
"placeId": "0x89c265ac4855a48f:0xb207cdd676e49cc4",
"mapsUrl": "https://www.google.com/maps/place/Schiffman+Oral+Surgery/...",
"scrapedAt": "2026-04-07T10:56:47.935Z",
"searchTerm": "dental clinic",
"searchLocation": "New York, USA"
}

How to use

  1. Search terms — Enter healthcare categories like dental clinic, hospital, dermatologist, physiotherapy, pediatrician.
  2. Locations — Enter cities or regions like New York, USA, London, UK, Mumbai, India.
  3. Max results — Set how many places to return (up to 500).
  4. Max concurrency — How many places to scrape in parallel (default 4, range 1–20). Higher is faster but increases proxy load and block risk; 3–5 is a good balance on residential proxies.
  5. Toggle enrichment — Enable or disable email extraction, social media, healthcare fields, and micro-niche classification independently.

Input example

{
"searchTerms": ["dental clinic", "dermatologist"],
"locations": ["New York, USA", "Los Angeles, USA"],
"maxResults": 100,
"maxConcurrency": 4,
"minRating": 4.0,
"enrichEmails": true,
"enrichSocials": true,
"enrichHealthcare": true,
"enrichMicroNiche": true
}

Enrichment pipeline

The scraper runs a 4-stage enrichment pipeline for each business:

1. Google Maps scraping

Extracts name, category, address, phone, website, rating, reviews, hours, coordinates, and place ID directly from Google Maps search results.

2. Healthcare enrichment

  • Specialty — Extracted from Maps category tags and "About" section attributes.
  • Insurance accepted — Scanned from Maps attributes, then falls back to the business website (/insurance, /billing, /patient-information pages).
  • Doctor count — Discovers team/staff pages linked from the business homepage and counts unique provider names (deduped from Dr./MD/DO/MBBS mentions) plus profile cards, reconciling the two signals into a count with a confidence level.
  • Review sentiment — Reads Google's aggregated review topics from the Maps Reviews tab and returns a sentiment label (Positive / Mostly positive / Mixed / Negative), a 0-100 score, and googleThemes (the top review themes with mention counts, e.g. friendly staff: 246). When the individual review list is available, it additionally runs keyword + negation analysis over the review text and adds topThemes and snippets. The source field indicates which path was used (rating+themes or full review analysis).

3. Micro-niche classification

  • Online booking — Checks for booking buttons on Maps and scans the website for booking platforms (Zocdoc, Calendly, Acuity, etc.).
  • Metro area — Classifies the business location against a curated database of metro areas across USA, UK, India, UAE, Australia, and Canada with tier rankings (1-3).
  • Clinic type — Classifies as hospital, multi_specialty, group_practice, single_doctor, or unknown based on name keywords, doctor count, and specialty count.

4. Contact enrichment

  • Email — Extracts the best email address using domain matching and scoring. Filters out generic addresses (noreply, support, etc.), site-builder/tracker domains (Wix, Sentry, …), and hash-like tracking addresses. Falls back to contact/about pages discovered on the homepage when none is found.
  • Social media — Extracts Instagram, Facebook, LinkedIn, and Twitter/X profile links from the business website.

Performance note: the business website is loaded once per place — emails, socials, insurance, and booking are all read from that single fetch, and sub-pages (team, insurance, contact) are visited only when they're actually linked from the homepage and a field is still missing.

Use cases

  • Healthcare marketing agencies — Build targeted lead lists of clinics by specialty, location, and online presence.
  • Medical recruiters — Find practices by doctor count and clinic type for recruitment outreach.
  • Insurance networks — Identify clinics accepting specific insurance plans for provider directory expansion.
  • Health-tech SaaS — Find clinics without online booking for sales prospecting.
  • Market research — Analyze healthcare density, sentiment, and competitive landscape by metro area.

Proxy

This actor requires residential proxies to avoid Google Maps blocks. Apify residential proxy is configured by default. For best results, use the RESIDENTIAL proxy group.

Cost estimate

Places are scraped in parallel (see Max concurrency), and each business's website is fetched once, so enrichment is faster than a one-at-a-time crawl. With all enrichment enabled a small run (5 results) uses roughly 0.25–0.65 compute units; budget proportionally more for larger runs. Higher concurrency reduces wall-clock time but raises proxy load and block risk.

Limitations

  • Google Maps may return different results based on proxy location, and search pages occasionally return an empty feed on a cold proxy — re-run if a search yields 0 results.
  • Review sentiment uses Google's aggregated review themes plus the star rating (no LLM). Google does not reliably render the full per-review list to headless/proxied sessions, so in most runs reviewsAnalysed is 0 and the score tracks the star rating rather than per-review text. googleThemes still provides real, high-signal topic counts.
  • Insurance detection relies on keyword matching and may not capture all plans.
  • Doctor count is a heuristic from team-page names/cards — treat it as an estimate (see clinicConfidence).
  • Metro area classification covers major metros in USA, UK, India, UAE, Australia, and Canada.